网络表征学习前沿与实践

阅读量:532
崔鹏

我们正处于大数据时代,人们言必及“大数据”,这里需要正视两个事实:一是当今的数据规模随时间以指数级增长;二是当今的算力也随着时间以指数级在增长。从这个意义上讲,大数据并没有给计算带来严峻挑战,两者在同一数量级上。但这种论断只在一种假设条件下成立,即数据样本之间相对独立。在这种情况下,数据量增大一倍,我们就可以用增大一倍的算力来解决。假如数据样本之间并不相对独立,而是存在错综复杂的关联(即关联大数据),那么,处理一个样本时就需要同时考虑关联样本,迭代多次后甚至需要遍历所有样本,因此算力需求与数据规模便呈指数关系。如果数据规模随时间呈指数增长,则在时间尺度上对于关联大数据的有效分析与处理所需的算力随时间呈“双指数(double exponential)”增长趋势。在双指数增长的算力需求与指数增长的算力供给之间产生了不可逾越的鸿沟,从而给关联大数据处理带来了严峻挑战。

在真实应用场景下,大数据往往以关联大数据的形式存在。在社会中,人与人之间相互联系,形成了社交网络大数据;在生物组织中,蛋白质和蛋白质之间、基因与基因之间相互关联,形成了生物网络大数据;在金融场景中,货币在不同实体之间频繁流动,形成了金融网络大数据;在可见的未来,所有设备、传感器都将相互连接,物联网大数据正在形成。在所有这些场景中,网络节点自然地对应数据样本,网络中的边则自然地对应数据样本之间的关联。“网络”因其强大且灵活的表征能力,成为关联大数据最自然和直接的表达方式。如何对网络进行高效分析与处理,对于众多大数据实际应用至关重要,同时对于应对大数据计算的核心挑战具有重要意义。

基于网络在众多应用场景中的基础性作用,我们可以预期网络大数据分析在实际产业中应该发挥重要作用,然而事实并不乐观。腾讯拥有百亿级的社交网络,阿里巴巴拥有百亿级电子商务网络,华为和京东分别拥有大规模通信网络和物流网络。然而业界对于这些网络大数据一般采用基于规则的相当浅层次的分析和利用。我们想当然地认为,采用更加前沿和深度的网络分析算法必然能给业界带来性能提升,但我们发现了一个不争的事实:今天的网络规模(如十亿级网络节点)已经导致任何相对复杂的分析算法都不可能在实际中大规模的应用。

瓶颈在哪里?要想回答该问题,我们需要重新审视网络的表征。我们通常将一个网络表示为由一个点集和边集共同组合而成。网络中“边”的存在,给网络的处理和分析带来极大挑战。首先,“边”的存在使得网络分析算法是迭代的或组合爆炸的。如度量网络某节点的重要性时,我们需要考虑其近邻节点的重要性,以此类推,我们需要以迭代方式遍历全网;当我们度量两个节点的最短路径时,需要枚举节点之间的所有路径,导致组合爆炸问题。这种迭代或组合问题的计算复杂度通常比较高,在大规模网络中难以应用。其次,“边”的存在使得网络节点之间相互耦合。如将不同节点或子图分布到不同计算单元中进行处理时,会带来极大的通信代价。因此大规模网络数据没有有效的并行化计算方案。计算复杂度高和缺乏有效的并行化方案,形成了大规模网络难以处理和分析的困境。而这两方面因素都是因为网络中的“边”所导致的。

“点集”和“边集”是否为网络的唯一表征方式?我们可以思考网络的形成过程。网络是一种存在形式,但从形成机制的维度,一般有另外一个隐空间在驱动着网络的形成和演化。以社交网络为例,两个人形成一条边,往往是因为两个人之间存在某种“相近性”,如两个人有共同兴趣,或两个人是同学或同事等。即存在一个表达“相近性”的隐含向量空间,产生了一个网络。但我们可观测的是网络拓扑空间,隐空间是不可观测的。核心问题是,我们是否可以将观测到的网络拓扑空间“嵌入”到隐含向量空间?如果可以,则网络中的节点对应于向量空间中的样本点,而网络中的边被向量空间的距离度量所取代。这样,网络分析中由“边”所导致的一系列瓶颈问题均得以解决。大规模网络在向量空间中所形成的表征可以有效降低复杂度,非常容易进行分布式并行计算,同时还可以应用前沿机器学习算法直接对网络数据进行学习和分析。而如何将网络拓扑空间嵌入到向量空间中,被称之为“网络表征学习(network representation learning)”或者“网络嵌入(network embedding)”。


会员登录后可下载全文

中国计算机学会(CCF)拥有《中国计算机学会通讯》(CCCF)所刊登内容的所有版权,未经CCF允许,不得转载本刊文字及照片,否则被视为侵权。对于侵权行为,CCF将追究其法律责任。
<<< 下一篇 无
读完这篇文章后,您心情如何?

作者介绍

崔鹏

  • CCF专业会员
  • 清华大学计算机系副教授
  • 研究方向:社会网络分析与社 会媒体计算。
  • cuip@tsinghua.edu.cn